import type {Executor} from './';
import {
    ChatController,
    DbDesignController,
    DocumentController,
    GraphController,
    HttpAiController,
    SysDictController,
    UserController
} from './services/';

export class Api {

    readonly dbDesignController: DbDesignController

    readonly chatController: ChatController

    readonly documentController: DocumentController

    readonly graphController: GraphController

    readonly httpAiController: HttpAiController

    readonly sysDictController: SysDictController

    readonly userController: UserController

    constructor(executor: Executor) {
        this.dbDesignController = new DbDesignController(executor);
        this.chatController = new ChatController(executor);
        this.documentController = new DocumentController(executor);
        this.graphController = new GraphController(executor);
        this.httpAiController = new HttpAiController(executor);
        this.sysDictController = new SysDictController(executor);
        this.userController = new UserController(executor);
    }
}